import router, { resetRouter } from "./router"; 
import store from './store'
import getPageTitle from "@/utils/page";
// import * as utils from "@/utils/utils";
let asyncRouterFlag = 0;
// const whiteList = ["login", "403", "test", "dept", "manager", "dashboard", "dept-list", "leader-group","Team-Administrator", "maintenance-information", "add-material-warehouse", "protectionTarget-Administrator"];
const whiteList = ["login", "403"]
router.beforeEach((to, from, next) => {
  // debugger
  const token = store.getters["user/token"];
  // 在白名单中的判断情况
  // 修改网页标签名称
  document.title = getPageTitle(to.meta.title);
  console.log(to.name); 
  if (whiteList.indexOf(to.name) > -1) {
    // if (token) {
    //   next({ name: store.getters["user/userInfo"]?.authority?.defaultRouter });
    // } else {
    //   next();
    // } 
    next()
  } else {
    // 不在白名单中并且已经登陆的时候
    if (token) {
      // 添加flag防止多次获取动态路由和栈溢出
      // if (
      //   !asyncRouterFlag &&
      //   store.getters["router/asyncRouters"].length === 0
      // ) {
      //   asyncRouterFlag++;
      //   await store.dispatch("user/getRolesList");
      //   await store.dispatch("router/SetAsyncRouter");
      //   await store.dispatch("dictionary/getFindByLevel");
      //   const asyncRouters = store.getters["router/asyncRouters"];
      //   resetRouter();
      //   router.addRoutes(asyncRouters);
      // next({ ...to, replace: true });
      // } else {
      //   next();
      // }
      next();
    }
    // 不在白名单中并且未登陆的时候
    else {
      next({ path: "/login" });
    }
  }
});





